Example embodiments of the present invention relates to game machines and game programs that execute to overturn or spin a player object on a display screen when the player object is changed into a predetermined state. The game machine performs processing in accordance with a game program for restarting a game smoothly after the player object is overturned or spun.
There have been many games, provided for video game machines, requiring a player to use a controller for controlling a movement of a player object appearing in a game space. Such games are typified by racing games. In a racing game, one or more race karts appear in the game space. The number of the race karts typically corresponds to the number of players. Each player uses the controller for operating his/her race kart on a predetermined course set in the game space in order to achieve a high ranking in a kart race. In the above described racing game, a race kart corresponds to a player object.
The game machine may perform game control for overturning the player object when the player object changes into or reaches a predetermined state during the game. For example, in the racing game, game control is performed for overturning the race kart if the race kart exceeds a speed limit during cornering. After the overturn, the race kart has to recover to a state capable of running in order to continue the game. Therefore, a conventional game machine uses the following two methods. In a first method, the overturned race kart is temporally deleted from the screen. Then, the race kart in an upright state (that is, the race kart recovered from the overturn) appears from the top of the screen. Alternatively, in a second method, the entire screen is blacked out, and thereafter the race kart in an upright state is displayed in the center of the course.
Also, the game machine may perform game control for spinning the player object when the player object reaches a predetermined state during the game. For example, in the racing game, game control is performed for spinning the race kart if the race cart exceeds a speed limit during cornering. In the conventional game machine, the direction in which the spun race kart travels (that is, the orientation of the race kart) is not fixed. Therefore, the player has to determine in which direction the race kart travels based on determinations about the orientation of the spun race kart and the forward direction of the course (that is, the direction toward the goal).
The above-described conventional game machine, however, has the following problems. If the overturned race kart recovers to a state capable of running using the above-described first or second method, the screen display before the race kart is overturned is not smoothly followed by the screen display in a time period from the overturn of the race kart until the restart of the game. Thus, the player experiences an annoying sort of interruption of the racing game every time the race kart is overturned. As a result, the player is prevented from being fully absorbed in the game.
Furthermore, as aforementioned, the direction in which the spun race kart travels is not fixed. Thus, the player has to determine in which direction the race kart travels when the game is restarted. If the player makes a wrong determination when restarting the game, the race kart may travel in the reverse direction on the course.
Therefore, one feature of an exemplary embodiment of the present invention is to provide a game machine and a game program that perform processing for smoothly restarting a game after a player object is overturned or spun.
The exemplary embodiment has the following features to attain the feature mentioned above (notes in parentheses indicate exemplary elements which can be found in the embodiments to follow, though such notes are not intended to limit the scope of the invention).
A first aspect of the exemplary embodiments is directed to a game machine (composed of a main unit 1, a controller 2, a DVD-ROM 3, and a memory card 4) that executes a game program (a racing game) causing a player object (a player kart) corresponding to a player to appear in a virtual space. The game machine includes a pose control section (a CPU 10 executing step S109; hereinafter, only a step number is shown), an overturn determination section (S105), an overturn processing section (S107), and an overturn recovery section (S521-S527). The pose control section determines a pose (a pose matrix Pose) of the player object. The overturn determination section determines that the player object is to be overturned (an overturn flag is set ON at S404) if the player object is changed into a predetermined pose (it is determined YES at either S402 or S403). The overturn processing section overturns the player object (S512 and S513) if it is determined that the player object is to be overturned. The overturn recovery section controls the pose of the overturned player object and recovers the player object to a state capable of restarting the game (S522 and S523). As such, after the player object is overturned, the pose of the player object is automatically controlled so as to recover the player object to the state capable of restarting the game. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the game. Thus, the player can be fully absorbed in the game.
In this case, the game machine may further include an operation section (a controller 2) and an operation control section (S103). The operation section is operated by the player. The operation control section controls a state (for example, a traveling direction) of the player object based on an operation input (an input from a joystick 6, etc.). Furthermore, the operation control section inhibits acceptance of the operation input (it is determined YES at S102, and S103 is not executed) during a time period after the player object is overturned until it is recovered to the state capable of restarting the game. As such, the operation input from the player is not accepted during the time period after the player object is overturned until the game is restarted, whereby it is possible to automatically control the pose of the player object with ease. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the game. Thus, the player can be fully absorbed in the game.
Furthermore, the overturn recovery section may bring a direction of the player object's height (PoseY, the Y component of the pose matrix Pose) close to a direction of normal to the ground (a normal vector N of the ground) on which the player object is placed. Thus, it is possible to automatically recover the player object to an upright state.
In this case, the overturn recovery section may bring the direction of the player object's height gradually closer to the direction of being normal to the ground, and end a process for controlling the pose of the overturned player object (an overturn flag is set OFF at S527) if a difference between the direction of the player object's height and the direction of normal to the ground falls within a predetermined range (it is determined YES at S525). Thus, it is possible to naturally display the images used for recovering the player object to the state capable of restarting the game.
Alternatively, the game machine may further include a traveling direction storing section (S405). The traveling direction storing section stores a traveling direction of the pre-overturned player object if it is determined that the player object is to be overturned (it is determined YES at either S402 or S403). Furthermore, the overturn recovery section brings the traveling direction of the overturned player object (PoseZ, the Z component of the pose matrix Pose) close to the traveling direction (a pre-overturn value PPoseZ) stored in the traveling direction storing section. Thus, the orientation of the player object is automatically recovered to the pre-overturn orientation when it is recovered from the overturn state, whereby the player is allowed to continue the game smoothly without losing his/her bearings.
Particularly, the pose control section may obtain a degree of pose variation (a degree of pose variation dPose) of the player object based on an external force exerted on the player object, and control the pose of the player object based on the obtained degree of pose variation. Here, the external force is a virtual force in a virtual world, such as resistance force or frictional force, which exerts on the player object from the ground, inertia, centrifugal force, and gravitational force, and the like. In order to perform processing relating to those external forces, computing may be performed based on actual physical laws, but an artificial computing may alternatively be performed if it is not required to be performed with precision. Furthermore, the overturn processing section exerts, only during a first predetermined time period (a forced overturn time period T1), an external force (a predetermined value calculated either at S512 or S513) that causes an overturn in a direction (an overturn direction determined at S511) that the player object is to be overturned, and overturns the player object. Thus, it is possible to naturally display the images in which the player object is overturned.
More preferably, the overturn processing section may maintain an overturn state of the player object only during a second predetermined time period (a non-forced time period T2) after a lapse of the first predetermined time period without exerting the external force that causes the overturn (S512 and S513 are not executed). Thus, it is possible to naturally display the images in which the player object is overturned.
Alternatively, the game machine may execute a racing game causing a race kart, which is the player object, to run on a predetermined course. The operation control section controls at least a movement of the race kart. The pose control section determines a pose of the race kart based on at least an external force exerted on the race kart. The overturn determination section determines that the race kart is to be overturned if the race kart is changed into a predetermined pose. The overturn processing section overturns the race kart. The overturn recovery section recovers the overturned race kart to an upright state. As such, after the race kart is overturned, the pose of the race kart is automatically controlled so as to recover the race kart to the state capable of restarting the race. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the race. Thus, the player can be fully absorbed in the racing game.
A second aspect of the exemplary embodiments is directed to a game machine (composed of a main unit 1, a controller 2, a DVD-ROM 3, and a memory card 4) that executes a racing game causing a race kart to run on a predetermined course, including: an operation section (the controller 2); an operation control section (S103); a rotation determination section (S105 or S155); a traveling direction storing section (S405 or S603); a rotation processing section (S107 or S157); and a rotation recovery section (S521-S527 or S721-S725). The operation section is operated by a player. The operation control section controls at least a movement (for example, a traveling direction) of the race kart based on an operation input (an input from a joystick 6, etc.). The rotation determination section determines whether the race kart is to be rotated or not. The traveling direction storing section stores a traveling direction of the pre-rotated race kart if it is determined that the race kart is to be rotated. The rotation processing section rotates the race kart (S512 and S513, or S712 and S713) if it is determined that the race kart is to be rotated. The rotation recovery section brings a traveling direction (PoseZ, the Z component of the pose matrix Pose) of the rotated race kart close to the traveling direction (a pre-rotation value PPoseZS, a pre-overturn vale PPoseZ) stored in the traveling direction storing section. As such, the traveling direction of the rotated race kart is brought close to the pre-rotation traveling direction, whereby the player is allowed to continue the game smoothly without losing his/her bearings. Note that, in the second aspect, the term “rotate (rotation)” means both overturn and spin.
A third aspect of the exemplary embodiments is directed to a game program (a game program stored in a DVD-ROM 3) for causing a game machine (composed of a game machine 1, a controller 2, the DVD-ROM 3, and a memory card 4) to execute a game (a racing game) that causes a player object (a player kart) corresponding to a player to appear. The game program causes the game machine to execute: a pose control step (S109); an overturn determination step (S105); an overturn processing step (S107); and an overturn recovery step (S521-S527). In the pose control step, a pose of the player object (a pose matrix Pose) is determined. In the overturn determination step, it is determined that the player object is to be overturned (an overturn flag is set ON at S404) if the player object is changed into a predetermined pose (it is determined YES at S402 or S403). In the overturn processing step, the player object is overturned (S512 and S513) if it is determined that the player object is to be overturned. In the overturn recovery step, the pose of the overturned player object is controlled and the player object is recovered to a state capable of restarting the game (S522 and S523). As such, after the player object is overturned, the pose of the player object is automatically controlled so as to recover the player object to the state capable of restarting the game. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the game. Thus, the player can be fully absorbed in the game.
In this case, the game program may further include an operation input step (S301) and an operation control step (S302-S307 of S103). In the operation input step, an operation input (an input from a joystick 6, etc.) is received from an operation section (the controller 2) operated by the player. In the operation control step, a state (for example, a traveling direction) of the player object is controlled based on the operation input. Furthermore, in the operation control step, acceptance of the operation input is inhibited during a time period after the player object is overturned until it is recovered to the state capable of restarting the game (it is determined YES at S102, and S103 is not executed). As such, the operation input from the player is not accepted during the time period after the player object is overturned until the game is restarted, whereby it is possible to automatically control the pose of the player object with ease. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the game. Thus, the player can be fully absorbed in the game.
Furthermore, in the overturn recovery step, the direction of the player object's height (PoseY, the Y component of the pose matrix Pose) may be brought close to a direction of a normal to a ground (a normal vector N of the ground) on which the player object is placed. Thus, it is possible to automatically recover the player object to an upright state.
In this case, in the overturn recovery step, the direction of the player object's height may be brought gradually closer to the direction of the normal, and a process for controlling the pose of the overturned player object may be ended (an overturn flag is set OFF at S527) if a difference between the direction of the player object's height and the direction of the normal falls within a predetermined range (it is determined YES at S525). Thus, it is possible to naturally display the images used for recovering the player object to the state capable of restarting the game.
Alternatively, the game program may further include a traveling direction storing step (S405). In the traveling direction storing step, a traveling direction of the pre-overturn player object is stored if it is determined that the player object is to be overturned (it is determined YES at S402 or S403). Furthermore, in the overturn recovery step, the traveling direction (PoseZ, the Z component of the pose matrix Pose) of the overturned player object is brought close to the traveling direction (a pre-overturn value PPoseZ) stored at the traveling direction storing step, whereby the player is allowed to continue the game smoothly without losing his/her bearings.
Particularly, in the pose control step, a degree of pose variation (a degree of pose variation dPose) of the player object may be obtained based on an external force exerted on the player object, and the pose of the player object may be controlled based on the obtained degree of pose variation. Furthermore, in the overturn processing step, only during a first predetermined time period (a forced overturn time period T1), an external force (a predetermined value calculated at either S512 or S513) that causes an overturn is exerted in a direction (a direction determined at S511) that the player object is to be overturned, and the player object is overturned. Thus, it is possible to naturally display the images in which the player object is overturned.
More preferably, in the overturn processing step, an overturn state of the player object may be maintained during only a second predetermined time period (a non-forced overturn time period T2) after a lapse of the first predetermined time period without exerting the external force (S512 and S513 are not executed) that causes the overturn. Thus, it is possible to naturally display the images in which the player object is overturned.
Alternatively, the game program may be a game program that causes a game machine to execute a racing game causing a race kart, which is the player object, to run on a predetermined course. In the operation control step, at least a movement of the race kart is controlled. In the pose control step, a pose of the race kart is determined based on at least an external force exerted on the race kart. In the overturn determination step, it is determined that the race kart is to be overturned if the race kart is changed into a predetermined pose. In the overturn processing step, the race kart is overturned. In the overturn recovery step, the overturned race kart is recovered to an upright state. As such, after the race kart is overturned, the pose of the race kart is automatically controlled so as to recover the race kart to the state capable of restarting the race. As a result, the screen display before the overturn is followed in seamless manners by the screen display after the overturn until a restart of the race. Thus, the player can be fully absorbed in the game.
A fourth aspect of the exemplary embodiments is directed to a game program (a game program stored in a DVD-ROM 3) that causes a game machine (composed of a main unit 1, a controller 2, the DVD-ROM 3, and a memory card 4) to execute a racing game causing a race kart to run on a predetermined course. The game program causes the game machine to execute: an operation input step (S301); an operation control step (S302-S307 of S103); a rotation determination step (S105 or S155); a traveling direction storing step (S405 or S603); a rotation processing step (S107 or S157); and a rotation recovery step (S521-S527 or S721-S725). In the operation input step, an operation input (an input from a joystick 6, etc.) is received from an operation section (the controller 2) operated by a player. In the operation control step, at least a movement (for example, a traveling direction) of the race kart is controlled based on the operation input. In the rotation determination step, it is determined whether the race kart is to be rotated or not. In the traveling direction storing step, a traveling direction of the pre-rotated race kart is stored if it is determined that the race kart is to be rotated. In the rotation processing step, the race kart is rotated (S512 and S513, or S712 and S713) if it is determined that the race kart is to be rotated. In the rotation recovery step, a traveling direction (PoseZ, the Z component of the pose matrix Pose) of the rotated race kart is brought close to the traveling direction (a pre-rotation value PPoseZS, a pre-overturn value PPoseZ) stored at the traveling direction storing step. As such, the traveling direction of the rotated race kart is brought close to the pre-rotation traveling direction, whereby the player is allowed to continue the game smoothly without losing his/her bearings. Note that, in the fourth aspect, the term “rotate (rotation)” means both overturn and spin.
These and other features, aspects and advantages of the exemplary embodiments will become more apparent from the following detailed description of the example embodiments of the present invention when taken in conjunction with the accompanying drawings.